This invention relates to information visualization, and more particularly, to a method of breaking up and displaying financial information represented by rectangular regions on a computer interface.
Millions of individual investors and securities professionals spend countless hours each year analyzing the performance and fluctuation, among other things, of various financial instruments. In order to gauge more accurately the value of a particular stock, for example, it is often necessary to scrutinize its price, volume and movement against other stocks in the same industry, sector or even across a particular index or market. This process becomes quite tedious, as the accumulation of such continuously changing data is nearly impossible for some and too cumbersome for many others. Even those who manage to collect the desired information then have the hurdle of analyzing the data so as to reach a conclusion.
Indeed, many computer programs exist nowadays to help facilitate a simpler approach to financial analysis. Such programs may, for example, provide charts, graphs, financial equations, technical indicators, etc. so that users can see how the various numbers relate. Furthermore, with the advent of the Internet and the proliferation of online brokers and financial web sites, ever more graphical and interactive financial computer programs, that are best suited to operate in such environments, are becoming available. As these programs are considered a fairly new area of development, there are not surprisingly, many shortcomings in the present technology.
On a similar note, graphical programs relating to other areas on the Internet are, on the whole, nonexistent. For example, this absence is quite noticeable with respect to commerce on the Internet. So far, Internet commerce has had most of its success with the sale of items that require the least physical examination. People are more comfortable ordering products such as books, videos, audio CDS and computer components, where there is little or no mystery as to the substance of the ordered item. Although physical examination is not necessary, customers still desire graphical images of the product and sufficient information to be able to analyze, compare, and chose between related or competing products. Other than individually viewing each product there are few methods of making such a comparison.
One prior art system used by many on-line computer retailers enables users to select two or more products for a comparison review. Such a review typically charts the respective products, listing the presence or absence of features for each one. The limitations of this system are twofold. First, not more than a handful of products may be simultaneously compared due to a lack of viewing space. Second, there is no significant visual or graphical element; forcing users to spend added time and effort reading and deciphering the relevant data.
Generally, the few prior art graphical programs that do exist, typically those relating to non-Internet applications, have been unsuccessful in their attempt to implement systems where large amounts of data are visible in a graphically appealing manner. Users desire an interface where they can comprehend or decipher as much information as possible solely by examining a graphical display, and little else.
With continued reference to the financial industry, one prior art graphical program has endeavored to display information relating to as many companies simultaneously on the same computer interface as possible. Having such information relating to multiple companies on the same screen provides a more efficient graphical environment for analyzing and comparing them. One such system, referred to as a treemap, is described more fully in Jungmeister, W. and Turo D., Adapting Treemaps to Stock Portfolio Generalization, Human-Computer Interaction Laboratory, Univ. of Maryland, College Park, Md., Sept., 1992, CS-TR-2996 and incorporated herein by reference. Briefly, the visual display of a treemap comprises a space that is divided into multiple rectangular regions, whereby each region is assigned to a different company. Despite the ability of treemaps to overcome many shortcomings from other prior art systems, by compressing large amounts of data into a small area, there are still significant shortcomings both in the visual element and the implementation of this technology.
Specifically, treemaps are not visually appealing and are limited in function. This is primarily because the prior art algorithm used to generate the many regions on a treemap is not ideally suited for such an implementation. One result, is that individual regions are often distorted in size or shape and hardly visible, thereby wrecking the effectiveness of the display. Furthermore, the overall appearance of such a display is confusing as the prior art systems produce a xe2x80x98slice-and-dicexe2x80x99 layout, which reduces the user""s ability to accurately decipher the graphical information. An example of such a xe2x80x98slice-and-dicexe2x80x99 layout is shown with reference to FIG. 1c, as layout 95. Also, by its very structure, this prior art system is limited in function and use. For example, with further reference to layout 95, the awkward structuring of individual regions make it difficult to evenly zoom into portions of the display without cutting off the very long or wide regions.
Thus, there is a need for a computer program that can provide an interface that simultaneously conveys to the user information on multiple companies or other relevant items. In addition, there is a need for such an interface to be implemented in a graphically appealing and functional manner, where the user can visualize large quantities of graphical information. Naturally, overcoming these shortcomings will prove beneficial to many environments, not solely on the Internet and not exclusively to the financial industry.
It is thus a general object of the present invention to provide a computer interface system to graphically visualize information in an efficient manner.
A more specific object of the present invention is to provide a software system and computer interface that enables users to view a large quantity of information on an efficiently configured graphical environment.
The software system according to one embodiment of this invention is configured to operate as a financial software application. According to this embodiment, a computer interface system is provided, which divides a display screen into a plurality of financial sectors from the securities industry, such as Utilities, Basic Materials, Transport, Consumer Staples, Energy, Capital Goods, Communication, Financial, Technology, Health Care and Consumer Cyclicals. In addition, the computer interface system displays a button bar and a menu interface for manipulating and displaying information to the user.
The computer interface system also displays, for each of the financial sectors, a plurality of rectangular regions, each region corresponding to a distinct company or corporation that renders business within that particular financial sector. Such companies typically have stock trading on a securities exchange, such as the New York Stock Exchange (NYSE), the American Stock Exchange (AMEX) and the NASDAQ. Furthermore, each financial sector displayed on the screen is potentially subdivided into multiple units, referred to in this embodiment as industries, wherein the stocks or companies belonging to the same sector are grouped according to shared industries. For example, the Technology sector comprises technology companies such as Microsoft Corp. (MSFT), Intel Corp. (INTC), Cisco Systems (CSCO), Oracle (ORCL), Computer Associates (CA), America Online (AOL) and Advanced Micro Devices (AMD). Microsoft, Oracle and CA may be grouped together in a software industry, a subset of the Technology sector. Further, Intel and AMD may be categorized as part of the semiconductor industry, Cisco as part of the networking industry, and so forth.
It is noted that the computer interface system can be manipulated to provide various zoom views to the user. For example, the interface system may exclusively display on the screen one display sector by enlarging that portion to occupy the entire visual area. Accordingly, the user may select to only view the Technology sector, etc. Further, the interface may be further enlarged to exclusively display a particular unit or industry within each financial sector, such as the software industry. Depending on the preferences of the user he or she may vary the zoom view so as to display a larger or smaller portion of the companies on the financial markets.
According to the present embodiment, the interface system is configured via its various display views, to graphically convey to the user information about individual companies through the use of region size and color. Thus, for each region or company the user can simply examine its graphical size and color to decipher certain relevant information or performance data on the respective company. In one embodiment, the size of a region corresponds to the market capitalization of the company represented by that region and the color corresponds to its recent performance from a predetermined date. For example, the color may indicate a positive or negative price change from the previous market day or from its 12-month low, etc. Correspondingly, green or lighter shading can refer to a positive stock price change and red or darker shading can refer to a negative stock price change. An additional modification, in one embodiment, can be employed to enhance accuracy by, for example, utilizing multiple shades of green and red to indicate greater or lessor price changes and perhaps by also utilizing a third color, such as black, to indicate a neutral performance. It is understood that these visual indications may be modified in numerous ways. For example, the size of a region may refer to trading volume of the company represented by the region, as opposed to market capitalization and the color to a change in its P/E ratio as opposed to a change in stock price, and so forth.
The process or method by which the interface system of this embodiment generates the appropriate rectangular region sizes and positions for display on the computer interface is now explained in more detail. The method of this embodiment operates via two stages: sizing and shaping the rectangles, also referred to as the initial layout stage, and positioning the sized rectangles, also referred to as the optimization stage.
As a preliminary, the underlying objectives of this method are briefly detailed. In essence, simply sizing a rectangular space based on the appropriate criteria, such as market capitalization or volume, would not be sufficient. First, there may be a minority of companies that have significantly larger capitalization or volume compared to the remaining companies that are to be displayed.
Without the unique method of this invention, the significantly larger company may be potentially sized to occupy most of the screen, both dwarfing other companies and impairing the benefits of the visual interface to the user. Therefore, a method for intelligently apportioning regions so that each company is satisfactorily displayed is necessary.
Second, even if the apportionment is perfectly calculated the shape and position of individual regions present two other difficulties. It is most desirable to have each region shaped in a visually appealing manner and to have similarly sized or similarly related regions adjacent to each other. Thus, awkwardly shaped regions, such as long narrow rectangles should be avoided as well as randomly positioned regions, which potentially confuse the user and damage part of the look and value of the interface. The method of creating such regions, according to one embodiment, is detailed below.
Given a rectangular space, such as the display area of the display screen, and a list of display sectors, such as the financial sectors, the method of this embodiment is initiated with the aim of dividing the display area into multiple rectangular display sectors, representing corresponding financial sectors. First, the initial layout stage is employed so that the multiple rectangular sectors are sized appropriately.
Initially, the method of this embodiment creates a sorted list of the provided financial sectors. The list may also contain any accompanying information, such as the individual companies and industries belonging to each of the sectors. In this embodiment, the sectors are sorted according to a predetermined criterion, such as market capitalization, which will be the basis for determining the physical size of each display sector. Thereafter, the total weight W of all the sectors is calculated. Here, total weight refers to the sum total market capitalization for all sectors. As explained above, the size of a display sector according to one embodiment graphically corresponds to its market capitalization. Thus, a larger display sector should represent a financial sector with a larger total capitalization. This concludes the initialization process.
Thereafter, the sorted list of sectors is divided into two sub-lists, wherein the first list is generated by taking as many of the largest sectors that have a total weight not exceeding 50% of weight W. The second list comprises all remaining sectors. In the situation where the largest sector is greater than 50% of weight W, the method of this invention can operate in one of several manners. According to one embodiment, the method of this invention preferably allows the largest sector of the list to occupy its corresponding proportional size on the display screen even if that size exceeds the 50% limitation. According to another embodiment, the method considers, for calculation purposes, as if the largest sector is weighed exactly 50% of weight W. This, in effect, reduces the significance of larger regions on the display in order to avoid visibility problems with smaller regions.
Then, the rectangular sector is taken and broken into two sub-regions, one region for each of the two sector lists. The rectangular sector is divided based on the weight of the first and second lists. Furthermore, according to the aforementioned embodiment that resizes the proportionate area of a large sector on the display screen, if the first sector list comprises a sector weighing more than 50% of the total weight W, the rectangular sector would be divided into two equally sized sub-regions. Thus, the first list would be assigned 50% of the original rectangular region, as well as the second list. This prevents a proportionately larger sector from occupying too much space and dwarfing the size of the remaining sectors. It should be noted that the limit of 50% is a predetermined percentage and may be modified as either a higher or lower percentage limit depending on the desired appearance of the display.
Then, the method of this embodiment determines in what manner to create the two sub-regions. Specifically, the method calculates whether it should divide the original rectangular sector vertically, with a vertical line, or horizontally, with a horizontal line. Basically, the line that provides the lowest aspect ratios for both regions is chosen. The aspect ratio of a region refers to the shape of its rectangular form, based on the ratio of its length to width, or vice versa. Ideally, the sub-region should be shaped as close to a square as possible, thus having the lowest possible aspect ratio of 1:1. This process of continuously dividing the sectors into two groups of low aspect ratio regions provides for a remarkably visually appealing and useful display.
Thereafter, for any sub-region having more than one sector the above steps are repeated. Specifically, a new sorted sector list is generated and the total weight W is recalculated based on the sectors in the present sub-region. Then, the sector list is broken into two sub-lists based on the aforementioned criteria and the present region is further divided into two sub-regions, each being assigned to one of the two sub-lists as detailed above.
Once every sector is assigned to its own sized region, the first stage is complete.
Now, stage two, the optimization stage, is employed so that the sized regions can be rearranged or positioned in their proper locations or layout. It is noted that there is more than one xe2x80x98properxe2x80x99 location, as the positioning of this stage is not limited to any one specific method. Basically, the method of stage two is primarily configured to eliminate the random positioning of the regions so as to improve the visual appearance and prevent potential user confusion. Thus, the optimization method may be used to arrange the regions by a mathematical function of various characteristics of displayed regions, such as for example, the size of a region, performance of underlying entity represented by the region, volume of the underlying entity represented by the region, etc.
Accordingly, the optimization arrangement provides a further enhancement to the graphical view since the user may also obtain information by simply noting the arrangement or positions of the regions. For example, one optimization method positions regions by performance, thus enabling users to determine the relative performance of a company based on its location on the interface. Aside for the inherent usefulness, this method provides for a more appealing visual display by not randomly dispersing the regions. The optimization method is employed as follows.
Initially, the rectangular regions generated in stage one are taken and arranged in every possible layout. This is purely a mechanical process where every combination of positioning the various regions is generated. This is analogous to a puzzle, wherein each piece, or rectangular region, is placed in every possible location to see where it fits best. According to another embodiment, instead of using a brute force method to find an optimum layout, various sampling algorithms are employed to more efficiently process the optimization stage. For example, such algorithms may include dynamic programming, simulated annealing, and genetic algorithms.
For each of the layouts generated, a mathematical function is employed based on a selected set of characteristics relating to each region. This mathematical function is then optimized to determine the most desired layout among the corresponding group of possible layouts.
As described above, the optimization of this stage is not limited to a particular method. For example, in accordance with one embodiment the mathematical function is derived from the differences between one or more metrics of various entities based on their selected layout. A metric in this context refers to a quantifiable characteristic of an entity represented by a region on the display screen. For example, for a company represented by a region typical metrics may include market capitalization, price increase or price decrease over a given period, price/earning ratio or any other desired metric. The various entities considered by the mathematical function may include each region and all the other regions adjacent to it in each one of the selected layouts. In the alternative a separate function can govern the selection of the regions whose metrics are part of the mathematical function. As such the selected regions may not be adjacent to each other. Some examples of the mathematical function governing an optimized layout are explained below.
According to one embodiment, the variable used by the mathematical function to optimize the layout is a region value. As such, first a region value is assigned to every region or company in the layout. This region value corresponds to a numerical or other comparable value that is derived from the performance of the respective region. For example, a company having a stock price appreciation of 36.3 % for the prior twelve months may be assigned a region value of 36.3. In an alternative embodiment, if the user wishes to employ the optimization method using region size or any other criteria (metric) as opposed to performance, the corresponding region value for each region is simply replaced with the desired value.
Second, for every region in the layout a mathematical function in accordance with one embodiment is defined as the region variance. The region variance is calculated by computing.the difference between each region value of a region and the region values of all its neighboring regions. The region variance calculation is done for every region in the layout and then summed to derive a layout variance number.
Thereafter, the layout having the lowest layout variance number is chosen as the desired layout. In other words, the layout having the most similar regions adjacent to each other is selected.
In another embodiment of the invention, the mathematical function is defined as the sum of distances between adjacent regions. Preferably the distance is defined as the square root of the sum of the squares of differences in price change of an entity represented by a region over some set of time intervals. Thereafter, the layout having the lowest sum of distances between adjacent regions is chosen as the desired layout. This concludes stage two and the method according to this embodiment of the invention
The above description sets forth rather broadly the more important features of the present invention in order that the detailed description thereof that follows may be understood, and in order that the present contributions to the art may be better appreciated. Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for the purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.